home *** CD-ROM | disk | FTP | other *** search
- /* WBExecute.jl By Kamran Karimi.
-
- Should be linked with JustLook (© Kamran Karimi) routines.
- */
-
- #include <stdlib.h>
- #include <stdio.h>
- #include <intuition/intuition.h>
- #include <clib/exec_protos.h>
- #include <clib/dos_protos.h>
- #include <clib/intuition_protos.h>
-
- #include "JustLook.h"
-
- struct RawInfo BackSp = {0x41,0};
-
- struct RawInfo Command[] = { /* Avail FLUSH */
- {0x20,LSHIFT}, {0x34,0}, {0x20,0}, {0x17,0}, {0x28,0}, {0x40,0},
- {0x23,LSHIFT}, {0x28,LSHIFT}, {0x16,RSHIFT}, {0x21,RSHIFT}, {0x25,RSHIFT}
- };
-
- struct IntuitionBase *IntuitionBase;
-
- #define Write_err printf("err = %08lx\n",err)
-
- main()
- {
- struct Window *win1,*win2,*win3;
- struct Gadget *StrGad;
- struct StringInfo *StrInfo;
- ErrorCode err;
- struct ScrMap SM;
- int count;
-
- IntuitionBase = (struct IntuitionBase *)OpenLibrary("intuition.library",0);
- if(IntuitionBase == 0) exit(100);
-
- win1 = FindWindow("Workbench",NULL);
- if(win1 > WIN_REPEATED)
- {
- err = IEDisable(MOUSE|KBD); Write_err; /* no fiddling! */
- Delay(25);
- ActivateWindow(win1); /* this is very important! */
- printf("Mouse and keyboard disabled!\n");
- InitSM(&SM,win1->WScreen);
- Delay(50);
- err = ChooseMenu(&SM,win1,0,1,-1); Write_err;
- Delay(50);
- win2 = FindWindow("Execute a File",NULL);
- if(win2 > WIN_REPEATED)
- {
- StrGad = FindGad(win2,NULL,1);
- StrInfo = (struct StringInfo *)StrGad->SpecialInfo;
- if(StrInfo->BufferPos > 0)
- for(count = StrInfo->BufferPos; count > 0;count--)
- RawType(&BackSp,1,5); /* delete prev text */
- Delay(25);
- err = RawType(Command,11,20); Write_err;/* type 'Avail FLUSH' */
- err = ClickGad(&SM,win2,NULL,2,1); Write_err; /* click Ok */
- Delay(200); /* wait 4 seconds! */
- win3 = FindWindow("Output Window",NULL);
- if(win3 > WIN_REPEATED)
- {
- Delay(100);
- WinAct(&SM,win3,CLOSEWIN);
- }
- else printf("Trouble finding Output Window!\n");
- }
- else printf("Trouble finding Window for File Execution!\n");
- printf("Program ended!\n");
- err = IEEnable(MOUSE|KBD); Write_err;
- }
- else printf("Trouble finding Workbench window!\n");
- CloseLibrary((struct Library *)IntuitionBase);
- exit(0);
- }
-